package org.yelongframework.excel.data.collect.excel;

import org.yelongframework.excel.data.ExcelDatas;
import org.yelongframework.excel.data.collect.sheet.SheetDataCollectException;
import org.yelongframework.excel.data.collect.sheet.manager.SheetDataCollectorManager;
import org.yelongframework.excel.workbook.ExcelWorkbook;

/**
 * 工作薄数据收集器
 * 
 * @since 1.0.0
 */
public interface ExcelDataCollector {

	// ==================================================工作薄==================================================

	/**
	 * 收集工作薄内所有的数据
	 * 
	 * @param workbook 工作薄
	 * @return 数据集
	 * @throws SheetDataCollectException 数据收集异常
	 */
	ExcelDatas collect(ExcelWorkbook workbook) throws SheetDataCollectException;

	// ==================================================工作表数据收集器管理器==================================================

	/**
	 * @return 工作表数据收集器管理器
	 */
	SheetDataCollectorManager getSheetDataCollectorManager();

}
